feat: optionally emit end exchange event to CAS [JAR-9933]#1720
feat: optionally emit end exchange event to CAS [JAR-9933]#1720andrewwan-uipath wants to merge 3 commits into
Conversation
|
There was a problem hiding this comment.
Pull request overview
This PR updates the uipath CLI’s conversational execution wiring to honor the conversationalService.endExchange FPS property by passing end_exchange=ctx.end_exchange into UiPathChatRuntime, leveraging behavior introduced in uipath-runtime 0.12.0.
Changes:
- Pass
end_exchange=ctx.end_exchangewhen constructingUiPathChatRuntimein bothrunanddebugCLI flows. - Add CLI tests to validate default exchange-end emission and suppression when
endExchange=false. - Bump
uipath-runtimedependency to>=0.12.0, <0.13.0and increment package version.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/uipath/src/uipath/_cli/cli_run.py | Passes ctx.end_exchange into UiPathChatRuntime so conversational end-exchange behavior can be controlled via FPS properties. |
| packages/uipath/src/uipath/_cli/cli_debug.py | Same end_exchange pass-through for the debug command’s conversational wrapper. |
| packages/uipath/tests/cli/test_run.py | Adds coverage verifying exchange-end event is emitted by default and skipped when endExchange=false. |
| packages/uipath/tests/cli/test_debug_chat.py | Adds coverage verifying end_exchange is forwarded into the UiPathChatRuntime constructor in debug. |
| packages/uipath/pyproject.toml | Updates package version and bumps uipath-runtime to the compatible range that includes endExchange support. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
maxduu
left a comment
There was a problem hiding this comment.
Approved but also was leaning the original approach as well, maybe let's see @cristipufu 's response to this thread first



effect. When false, the exchange-end event is skipped and the exchange stays open for a downstream consumer.